package com.tudouji.project.produce.service;

import java.util.List;

import com.tudouji.framework.web.domain.AjaxResult;
import com.tudouji.project.bill.domain.Whoutform;
import com.tudouji.project.produce.domain.Pickinglist;

/**
 * 领料单Service接口
 * 
 * @author tudouji
 * @date 2022-06-01
 */
public interface IPickinglistService 
{
    /**
     * 查询领料单
     * 
     * @param guid 领料单ID
     * @return 领料单
     */
    public Pickinglist selectPickinglistById(String guid);

    /**
     * 查询领料单列表
     * 
     * @param pickinglist 领料单
     * @return 领料单集合
     */
    public List<Pickinglist> selectPickinglistList(Pickinglist pickinglist);
    public List<Pickinglist> selectPickinglistListPc(Pickinglist pickinglist);
    public List<Pickinglist> selectPickinglistList(Pickinglist pickinglist, String status, String functionType);

    /**
     * 新增领料单
     * 
     * @param pickinglist 领料单
     * @return 结果
     */
    public int insertPickinglist(Pickinglist pickinglist);

    /**
     * 修改领料单
     * 
     * @param pickinglist 领料单
     * @return 结果
     */
    public int updatePickinglist(Pickinglist pickinglist);

    /**
     * 批量删除领料单
     * 
     * @param guids 需要删除的领料单ID
     * @return 结果
     */
    public int deletePickinglistByIds(String[] guids);

    /**
     * 删除领料单信息
     * 
     * @param guid 领料单ID
     * @return 结果
     */
    public int deletePickinglistById(String guid);

    AjaxResult save(Pickinglist pickinglist, String fileIds);

    AjaxResult approval(Long id, String imgids, String opinion, Long taskid);

    AjaxResult refuse(Long id, String fileIds, String opinion, Long taskid, Long refuseNodeid, Long backUserid);

    AjaxResult del(Long id);

    AjaxResult getInfo(Long id);

    AjaxResult getBaseInfo(String planid);

    Pickinglist selectPickinglistByNewId(Long pickinglistid);

    AjaxResult getSpes(Long pickid, String productid);

    AjaxResult getProducts(Long pickinglistid);

    public List<Pickinglist> findCollect(Pickinglist plDetail);

    public List<Pickinglist> findPPDetail(Pickinglist plDetail);

    AjaxResult getCosproduct(String strguid, String productflag);

    AjaxResult whout(Long id, Whoutform entity, String fileIds, String opinion, Long taskid, String opttype);
}
